package cl.ncx.cmvrc.persistence.base.entities.vehiculo;

import java.sql.Timestamp;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import cl.ncx.cmvrc.persistence.base.entities.personas.Cliente;

/**
 * FichaVehiculo entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "ficha_vehiculo", schema = "base")
@SequenceGenerator(name = "ficha_vehiculo_seque", sequenceName = "base.evento_ficha_vehiculo_id_seq")
public class FichaVehiculo implements java.io.Serializable {

	private Integer fichaVehiculoId;
	private String marca;
	private Cliente cliente;
	private Timestamp fecha;
	private String numeroChasis;
	private String numeroMotor;
	private String color;
	private Boolean modificado;
	private String caracteristicas;
	private String modelo;
	private Integer anio;
	private String matricula;

	// Constructors

	/** default constructor */
	public FichaVehiculo() {
	}

	/** minimal constructor */
	public FichaVehiculo(Integer fichaVehiculoId) {
		this.fichaVehiculoId = fichaVehiculoId;
	}

	/** full constructor */
	public FichaVehiculo(Integer fichaVehiculoId, String marca, Cliente cliente,
			Timestamp fecha, String numeroChasis, String numeroMotor,
			String color, Boolean modificado, String caracteristicas,
			String modelo, Integer anio, String matricula) {
		this.fichaVehiculoId = fichaVehiculoId;
		this.marca = marca;
		this.cliente = cliente;
		this.fecha = fecha;
		this.numeroChasis = numeroChasis;
		this.numeroMotor = numeroMotor;
		this.color = color;
		this.modificado = modificado;
		this.caracteristicas = caracteristicas;
		this.modelo = modelo;
		this.anio = anio;
		this.matricula = matricula;
	}

	// Property accessors
	@Id
	@Column(name = "ficha_vehiculo_id", unique = true, nullable = false)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "ficha_vehiculo_seque")
	public Integer getFichaVehiculoId() {
		return this.fichaVehiculoId;
	}

	public void setFichaVehiculoId(Integer fichaVehiculoId) {
		this.fichaVehiculoId = fichaVehiculoId;
	}

	@Column(name = "marca")
	public String getMarca() {
		return this.marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	@JoinColumn(name = "cliente_id")
	public Cliente getCliente() {
		return this.cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	@Column(name = "fecha", length = 35)
	public Timestamp getFecha() {
		return this.fecha;
	}

	public void setFecha(Timestamp fecha) {
		this.fecha = fecha;
	}

	@Column(name = "numero_chasis")
	public String getNumeroChasis() {
		return this.numeroChasis;
	}

	public void setNumeroChasis(String numeroChasis) {
		this.numeroChasis = numeroChasis;
	}

	@Column(name = "numero_motor")
	public String getNumeroMotor() {
		return this.numeroMotor;
	}

	public void setNumeroMotor(String numeroMotor) {
		this.numeroMotor = numeroMotor;
	}

	@Column(name = "color")
	public String getColor() {
		return this.color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	@Column(name = "modificado")
	public Boolean getModificado() {
		return this.modificado;
	}

	public void setModificado(Boolean modificado) {
		this.modificado = modificado;
	}

	@Column(name = "caracteristicas")
	public String getCaracteristicas() {
		return this.caracteristicas;
	}

	public void setCaracteristicas(String caracteristicas) {
		this.caracteristicas = caracteristicas;
	}

	@Column(name = "modelo")
	public String getModelo() {
		return this.modelo;
	}

	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	@Column(name = "anio")
	public Integer getAnio() {
		return this.anio;
	}

	public void setAnio(Integer anio) {
		this.anio = anio;
	}

	@Column(name = "matricula")
	public String getMatricula() {
		return this.matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

}